
/* ACV_FNCT_explo.sqf
-----------------------------------------------------------------------------
 function ACV_FNCT_Explo()
Exemple : ["Sh_105_HE",[0,0,0],5,10] spawn ACV_FNCT_Explo;

"Sh_105_HE","R_57mm_HE","Bo_FAB_250","Bo_GBU12_LGB"

Crée une explosion sur une position donnée.

@param0 String, Type de munition
@param1 Array (variant) Position

Si la fonction est initialisée sur les joueurs, BIS_Effects_Burn = compile preprocessFile "tmf\core\modules\r3f_acv\Scripts\EFFECT_burn.sqf";
à la place de celle de BIS (bug des flammes en JIP ???) BIS_Effects_Burn = compile preprocessFile "\ca\Data\ParticleEffects\SCRIPTS\destruction\burn.sqf";
@param2 (Optionnel) defaut : 10 - Intensité de l'effet, fumée : 1 à 3 - feu > 3
@param3 (Optionnel) defaut : 10 - Durée de l'effet

Munition :
	"R_57mm_HE"
	"SH_105_HE"
	"SH_120_HE"
	"SH_125_HE"
	"SH_155_HE"
	"M_Sidewinder_AA"
	"Bo_GBU12_LGB"
	"Bo_FAB_250"
	"ARTY_Sh_82_HE"
	"ARTY_Sh_82_WP"
	"ARTY_Sh_122_WP"
	"ARTY_Sh_122_HE"
	"ARTY_R_227mm_HE"
	"ARTY_SmokeShellWhite"
	"ARTY_Sh_122_SMOKE"
	"ARTY_Sh_81_ILLUM"
	"ARTY_Sh_122_ILLUM"

variant = 	(string) nom de joueur (la position du joueur sera renvoyée)
			(group) un group (la position du leader sera renvoyée)
			(object) un objet quelquonque (la position de l'objet sera renvoyée)
			(array) position (tableau [x, y, z])

@return Rien
----------------------------------------------------------------------------*/
#include "ACV_constantes.h"
ACV_FNCT_Explo = {
	private "_code";
	_code = compile "_this call R3F_FNCT_Explo;";
	[ACV_BROADCAST_TO_SERVER,_code,_this] call ACV_FNCT_BroadcastCode;
	if (!(isNil "BIS_Effects_Burn")) then {
		private ["_item","_pos","_effet","_duree","_grp","_logic"];
		_item = _this select 1;
		if (isNil "_item") exitWith {};
		_pos = [_item] call R3F_FNCT_GetPos;
		if (count _pos == 0) exitWith {};
		if (count _this > 2) then {
			_effet = _this select 2;
		} else {
			_effet = 10;
		};
		if (typeName _effet != "SCALAR") exitWith {};
		if (count _this > 3) then {
			_duree = _this select 3;
		} else {
			_duree = 10;
		};
		if (typeName _duree != "SCALAR") exitWith {};
		[_pos,_effet,_duree] spawn ACV_FNCT_Broadcast_BIS_Effects_Burn;
	};
};
